#ifndef __INDIRECTBLOCK_H__
#define __INDIRECTBLOCK_H__

#include "block.h"
#include "types.h"
#include <vector>


#define INDIRECT_BLOCKS 128
#define BLOCK_SIZE 4

struct indirect_block_t
{
	unsigned char blocks[INDIRECT_BLOCKS][BLOCK_SIZE];
};



class IndirectBlock : public Block
{
	private:
		indirect_block_t * indirBlocks;
		int level;

	public:
		IndirectBlock(FILE*, unsigned long, int);
		virtual ~IndirectBlock();
		virtual void print();
		std::vector<long> * getAllAddressBlocks();
};

#endif
